/*
 * Quercia Luciano
 * Algoritmi e Strutture Dati
 * a.a. 2009-10
 */


#include <iostream>
#include "insieme.h"

using namespace std;

int main()
{
    typedef Insieme<int> ins;
    ins x,y,k;
    
    x.inserisci(1);
    x.inserisci(2);
    x.inserisci(3);
    x.inserisci(4);
    x.inserisci(5);
    
    y.inserisci(3);
    y.inserisci(4);
    y.inserisci(5);
    y.inserisci(6);

    cout << "Insieme X" << endl;
    x.print();
    cout << endl;
    
    cout << "Insieme Y" << endl;
    y.print();
    cout << endl;

    k = x.intersezione(y);
    cout << "Insieme INTERSEZIONE" << endl;
    k.print();
    cout << endl;

    k = x.unione(y);
    cout << "Insieme UNIONE" << endl;
    k.print();
    cout << endl;

    k=x.differenza(y);
    cout << "Insieme DIFFERENZA" << endl;
    k.print();
    cout << endl;


    cout << endl << "Controllo la non modifica degli insiemi di partenza:" << endl << endl ;

    cout << "Insieme X dopo le operazioni" << endl;
    x.print();
    cout << endl;

    cout << "Insieme Y dopo le operazioni" << endl;
    y.print();
    cout << endl;

    return 0; 
}
